package com.atguigu.jdk;

/**
 * @program: design-patterns
 * @author: yangshen
 * @description: jdk源码分析：建造者模式
 * @create: 2022-02-11 10:12
 **/
public class Builder {

    /**
     * 建造者模式在JDK的应用和源码分析
     * 3) 源码中建造者模式角色分析
     * Appendable 接口定义了多个append方法(抽象方法), 即Appendable 为抽象建造者, 定义了抽象方法
     * AbstractStringBuilder 实现了 Appendable 接口方法，这里的AbstractStringBuilder 已经是建造者，只是不能实例化
     * StringBuilder 即充当了指挥者角色，同时充当了具体的建造者，建造方法的实现是由 AbstractStringBuilder 完成, 而StringBuilder 继承了AbstractStringBuilder
     */
    public static void main(String[] args) {
        StringBuilder append = new StringBuilder("建造者模式").append("源码");
        System.out.println(append);
    }

}
